home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 May / CHIP Mayıs 1997.iso / cont / web / winsock / virc / default.lib < prev    next >
Encoding:
Text File  |  1997-01-20  |  12.1 KB  |  527 lines

  1. // Visual IRC '96 standard event/alias/menu library
  2. // Version 0.82
  3.  
  4. Name V96 0.82 standard event/alias/menu library
  5.  
  6. // Events
  7.  
  8. Event <default> "*"
  9.   // This event is handled internally.
  10.  
  11.   // Default server text is displayed
  12.   // automatically by ViRC '96.
  13. EndEvent
  14.  
  15. Event <OnStart> "*"
  16.   // This event is fired when ViRC '96 starts up.
  17. EndEvent
  18.  
  19. Event <OnClose> "*"
  20.   // This event is fired when ViRC '96 closes down.
  21. EndEvent
  22.  
  23. Event <OnConnect> "*"
  24.   // This event is fired on connection to the server.
  25. EndEvent
  26.  
  27. Event <OnDisconnect> "*"
  28.   // This event is fired on disconnection from the server.
  29. EndEvent
  30.  
  31. Event <OnNotifyJoin> "*"
  32.   TextOut > . ecNOTICE *** Notify: $0 is on IRC
  33. EndEvent
  34.  
  35. Event <OnNotifyQuit> "*"
  36.   TextOut > . ecNOTICE *** Notify: $0 has quit IRC
  37. EndEvent
  38.  
  39. Event <OnNewInactiveText> "*"
  40.   // This event is fired when a line of text is added
  41.   // to a window that doesn't have the focus.
  42. EndEvent
  43.  
  44. Event <OnDCCChatConnect> "*"
  45.   // Fired when a DCC Chat session connects.
  46.   // The nick is in $0.
  47. EndEvent
  48.  
  49. Event <OnDCCChatDisconnect> "*"
  50.   // Fired when a DCC Chat session disconnects.
  51.   // The nick is in $0.
  52. EndEvent
  53.  
  54. Event <OnDCCChatText> "*"
  55.   // Fired when new DCC Chat text comes in.
  56.   // The nick is in $0. The text is in $1-.
  57. EndEvent
  58.  
  59. Event <OnDCCSendConnect> "*"
  60.   // Fired when a DCC Send session connects.
  61.   // The nick is in $0. The filename is in $1-.
  62. EndEvent
  63.  
  64. Event <OnDCCSendDisconnect> "*"
  65.   // Fired when a DCC Send session disconnects.
  66.   // The nick is in $0. The filename is in $1-.
  67.   // $2 contains 1 if the transfer completed successfully, 0 otherwise.
  68. EndEvent
  69.  
  70. Event <OnDCCGetConnect> "*"
  71.   // Fired when a DCC Get session connects.
  72.   // The nick is in $0. The filename is in $1-.
  73. EndEvent
  74.  
  75. Event <OnDCCGetDisconnect> "*"
  76.   // Fired when a DCC Get session disconnects.
  77.   // The nick is in $0. The filename is in $1-.
  78.   // $2 contains 1 if the transfer completed successfully, 0 otherwise.
  79. EndEvent
  80.  
  81. Event RawServerNotice "NOTICE *"
  82.   TextOut > . ecError *** [\bRAW\b] $2-
  83. EndEvent
  84.  
  85. Event JOIN "* JOIN"
  86.   TextOut > $2 ecJOIN *** \b$nick ($user@$host)\b has joined channel $2
  87.   if ($GetBanlevel($nick!$user@$host) >= 1)
  88.      Bk $2 $nick You're not welcome here!! (banlevel = $GetBanlevel($nick!$user@$host))
  89.   endif
  90.   if ($GetUserlevel($nick!$user@$host) >= 1)
  91.      Mode $2 +o $nick
  92.   endif
  93. EndEvent
  94.  
  95. Event PART "* PART"
  96.   if ([$nick] != [$N])
  97.      TextOut > $2 ecPART *** \b$nick ($user@$host)\b has left channel $2
  98.   endif
  99. EndEvent
  100.  
  101. Event QUIT "* QUIT"
  102.   for (@ $i = 1; $i <= $channelcount(); $i++)
  103.     if ($ison($nick $channels($i)))
  104.        TextOut > $channels($i) ecQUIT *** Signoff: \b$nick ($user@$host)\b has left IRC [$2-]
  105.     endif
  106.   endfor
  107.   -@ $i
  108. EndEvent
  109.  
  110. Event TOPIC "* TOPIC"
  111.   TextOut > $2 ecTOPIC *** \b$nick\b has changed the topic on $2 to "$StrTrim($3-)"
  112. EndEvent
  113.  
  114. Event MODE "* MODE"
  115.   TextOut > $2 ecMODE *** Mode change [$3-] on channel $2 by \b$nick\b
  116. EndEvent
  117.  
  118. Event INVITE "* INVITE"
  119.   TextOut ecNotice *** \b$nick ($user@$host)\b invites you to channel $StrTrim($3-)
  120. EndEvent
  121.  
  122. Event WALLOPS "* WALLOPS"
  123.   TextOut ecNotice !\b$nick\b!\t$StrTrim($2-)
  124. EndEvent
  125.  
  126. Event ChannelMessage "* PRIVMSG #*"
  127.   TextOut > $2 ecChanText <\b$nick\b>\t$StrTrim($3-)
  128. EndEvent
  129.  
  130. Event CTCP "* PRIVMSG * :\A*"
  131.   TextOut ecCTCP *** Received CTCP $Upper($StrTrim($3)) from \b$nick\b: $4-
  132. EndEvent
  133.  
  134. Event ChannelNotice "* NOTICE #*"
  135.   TextOut > $2 ecNOTICE =\b$nick\b=\t$StrTrim($3-)
  136. EndEvent
  137.  
  138. Event PrivateNotice "* NOTICE *"
  139.   if ($StrPos(. $nick) > 0)
  140.      TextOut > . ecNOTICE =\b$nick\b=\t$StrTrim($3-)
  141.   else
  142.      TextOut ecNOTICE =\b$nick\b=\t$StrTrim($3-)
  143.   endif
  144. EndEvent
  145.  
  146. Event CTCPReply "* NOTICE * :\A*"
  147.   TextOut ecCTCP *** Received CTCP $Upper($StrTrim($3)) reply from \b$nick\b: $4-
  148. EndEvent
  149.  
  150. Event KICK "* KICK *"
  151.   TextOut > $2 ecKICK *** \b$nick\b has kicked \b$3\b from channel $2 [$StrTrim($4-)]
  152. EndEvent
  153.  
  154. Event NICK "* NICK"
  155.   for (@ $i = 1; $i <= $channelcount(); $i++)
  156.     if ($ison($nick $channels($i)))
  157.        TextOut > $channels($i) ecNICK *** \b$nick\b is now known as \b$2\b
  158.     endif
  159.   endfor
  160.   -@ $i
  161. EndEvent
  162.  
  163. Event PrivateMessage "* PRIVMSG *"
  164.   if ($GetSetting(Options QueryEnabled)) || ($IsQuerying($nick))
  165.      TextOut > $nick ecQueryText <\b$nick\b>\t$StrTrim($3-)
  166.   else
  167.      TextOut ecPRIVMSG *\b$nick\b*\t$StrTrim($3-)
  168.   endif
  169. EndEvent
  170.  
  171. Event ChannelAction "* PRIVMSG #* :\AACTION"
  172.   TextOut > $2 ecACTION  * \b$nick\b $4-
  173. EndEvent
  174.  
  175. Event PrivateAction "* PRIVMSG * :\AACTION"
  176.   if ($GetSetting(Options QueryEnabled)) || ($IsQuerying($nick))
  177.      TextOut > $nick ecACTION  *> \b$nick\b $4-
  178.   else
  179.      TextOut ecACTION  *> \b$nick\b $4-
  180.   endif
  181. EndEvent
  182.  
  183. Event PingReply "* NOTICE * :\APING"
  184.   TextOut ecCTCP *** Received CTCP $StrTrim($3) reply from \b$nick\b: $DecodePingInterval($4)
  185. EndEvent
  186.  
  187. Event Ping "* PRIVMSG * :\APING"
  188.   // Don't display anything when a ping
  189.   // comes in.
  190. EndEvent
  191.  
  192. Event 471 "* 471 *"
  193.   TextOut > . ecError *** Cannot join channel $3 (+l - channel is full)
  194. EndEvent
  195.  
  196. Event 473 "* 473 *"
  197.   TextOut > . ecError *** Cannot join channel $3 (+i - invite-only)
  198. EndEvent
  199.  
  200. Event 474 "* 474 *"
  201.   TextOut > . ecError *** Cannot join channel $3 (+b - you're banned)
  202. EndEvent
  203.  
  204. Event 475 "* 475 *"
  205.   TextOut > . ecError *** Cannot join channel $3 (+k - channel key is set)
  206. EndEvent
  207.  
  208. // Aliases
  209.  
  210. Alias J
  211.   if ([$1] == [])
  212.      @ $x = $?="Enter a channel name to join:"
  213.   else
  214.      @ $x = $1-
  215.   endif
  216.   if ([$substr($x 1 1)] != [#]) && ([$substr($x 1 1)] != [&])
  217.      @ $x = #$x
  218.   endif
  219.   Join $x
  220.   -@ $x
  221. EndAlias
  222.  
  223. Alias OP
  224.   if ([$1] == [])
  225.      Mode $C +oooo $?="Enter some nicks to op:"
  226.   else
  227.      Mode $C +oooo $1-
  228.   endif
  229. EndAlias
  230.  
  231. Alias DEOP
  232.   if ([$1] == [])
  233.      Mode $C -oooo $?="Enter some nicks to deop:"
  234.   else
  235.      Mode $C -oooo $1-
  236.   endif
  237. EndAlias
  238.  
  239. // Menus and popups
  240.  
  241. MenuTree MT_MAINMENU
  242.   M_FILE       <none> 0 0 &File
  243.   M_NEWCONNECT Ctrl+K 0 1 &New connection ...
  244.   M_SETUP      <none> 0 1 Client s&etup ...
  245.   M_FSEP1      <none> 0 1 -
  246.   M_EXIT       Alt+X  0 1 E&xit
  247.   M_TOOLS      <none> 0 0 &Tools
  248.   M_FINGER     Ctrl+F 0 1 UNIX &finger ...
  249.   M_DNS        Ctrl+L 0 1 &DNS lookup ...
  250.   M_PORTSCAN   Ctrl+P 0 1 &Port scanner ...
  251.   M_TSEP1      <none> 0 1 -
  252.   M_LINKS      <none> 1 1 &Links
  253.   M_CHANLIST   <none> 1 1 &Channel list ...
  254.   M_TSEP2      <none> 0 1 -
  255.   M_EXPLORE    Ctrl+E 0 1 &Explore ...
  256.   M_SCRIPTING  <none> 0 0 &Scripting
  257.   M_EVENTS     <none> 0 1 &Events ...
  258.   M_ALIASES    <none> 0 1 &Aliases ...
  259.   M_MENUS      <none> 0 1 &Menus/popups ...
  260.   M_SCRSEP1    <none> 0 1 -
  261.   M_LOAD       <none> 0 1 &Load script ...
  262.   M_SCRSEP2    <none> 0 1 -
  263.   M_VSPUBWIZ   <none> 0 1 &ViRCScript Publishing Wizard ...
  264. EndMenuTree
  265.  
  266. MenuTree MT_SERVERPOPUP
  267.   M_BUFFER      <none> 0 0 &Buffer
  268.   M_BUFFERSAVE  <none> 0 1 &Save ...
  269.   M_BUFFERCLEAR <none> 0 1 &Clear
  270.   M_SSEP1       <none> 0 0 -
  271.   M_SCONNECT    <none> 2 0 Co&nnect
  272.   M_SDISCONNECT <none> 1 0 &Disconnect
  273.   M_SSEP2       <none> 0 0 -
  274.   M_SIGNOFF     <none> 1 0 &Signoff ...
  275. EndMenuTree
  276.  
  277. MenuTree MT_CHANNELTEXTPOPUP
  278.   M_BUFFER      <none> 0 0 &Buffer
  279.   M_BUFFERSAVE  <none> 0 1 &Save ...
  280.   M_BUFFERCLEAR <none> 0 1 &Clear
  281.   M_CSEP1       <none> 0 0 -
  282.   M_OFFERXDCC   <none> 0 0 &Offer XDCC packs
  283.   M_WHOLIST     <none> 0 0 &Who list ...
  284. EndMenuTree
  285.  
  286. MenuTree MT_CHANNELNICKSPOPUP
  287.   M_WHOIS     <none> 0 0 &Whois (user info)
  288.   M_QUERY     <none> 0 0 &Query (private message window)
  289.   M_SEP1      <none> 0 0 -
  290.   M_DCCCHAT   <none> 0 0 DCC &Chat
  291.   M_DCCSEND   <none> 0 0 DCC &Send ...
  292.   M_TDCCSEND  <none> 0 0 TDCC S&end ...
  293.   M_TDCCVOICE <none> 0 0 TDCC &Voice ...
  294.   M_SEP2      <none> 0 0 -
  295.   M_CTCP      <none> 0 0 C&TCP
  296.   M_CPING     <none> 0 1 &PING
  297.   M_CVERSION  <none> 0 1 &VERSION
  298.   M_CTIME     <none> 0 1 &TIME
  299.   M_SEP3      <none> 0 0 -
  300.   M_OP        <none> 1 0 &Op
  301.   M_DEOP      <none> 1 0 &Deop
  302.   M_KICK      <none> 1 0 &Kick
  303.   M_BAN       <none> 1 0 &Ban
  304.   M_KICKBAN   <none> 1 0 K&ickban
  305. EndMenuTree
  306.  
  307. MenuItem M_FILE on MT_MAINMENU
  308. EndMenuItem
  309.  
  310. MenuItem M_NEWCONNECT on MT_MAINMENU
  311.   NewServerWindow
  312. EndMenuItem
  313.  
  314. MenuItem M_SETUP on MT_MAINMENU
  315.   ShowClientSetup
  316. EndMenuItem
  317.  
  318. MenuItem M_FSEP1 on MT_MAINMENU
  319. EndMenuItem
  320.  
  321. MenuItem M_EXIT on MT_MAINMENU
  322.   Exit
  323. EndMenuItem
  324.  
  325. MenuItem M_TOOLS on MT_MAINMENU
  326. EndMenuItem
  327.  
  328. MenuItem M_FINGER on MT_MAINMENU
  329.   Finger
  330. EndMenuItem
  331.  
  332. MenuItem M_DNS on MT_MAINMENU
  333.   if ([$1] == [])
  334.      @ $x = $?="Enter a hostname to DNS lookup:"
  335.   else
  336.      @ $x = $1-
  337.   endif
  338.   DNS $x
  339.   -@ $x
  340. EndMenuItem
  341.  
  342. MenuItem M_PORTSCAN on MT_MAINMENU
  343.   ShowPortScanner
  344. EndMenuItem
  345.  
  346. MenuItem M_TSEP1 on MT_MAINMENU
  347. EndMenuItem
  348.  
  349. MenuItem M_LINKS on MT_MAINMENU
  350.   Links
  351. EndMenuItem
  352.  
  353. MenuItem M_CHANLIST on MT_MAINMENU
  354.   List
  355. EndMenuItem
  356.  
  357. MenuItem M_TSEP2 on MT_MAINMENU
  358. EndMenuItem
  359.  
  360. MenuItem M_EXPLORE on MT_MAINMENU
  361.   Explore
  362. EndMenuItem
  363.  
  364. MenuItem M_SCRIPTING on MT_MAINMENU
  365. EndMenuItem
  366.  
  367. MenuItem M_EVENTS on MT_MAINMENU
  368.   ShowEventEditor
  369. EndMenuItem
  370.  
  371. MenuItem M_ALIASES on MT_MAINMENU
  372.   ShowAliasEditor
  373. EndMenuItem
  374.  
  375. MenuItem M_MENUS on MT_MAINMENU
  376.   ShowMenuEditor
  377. EndMenuItem
  378.  
  379. MenuItem M_LOAD on MT_MAINMENU
  380.   @ $x = $opendialog(Load a ViRCScript script file|ViRCScript script (*.vsc)|*.vsc|All files (*.*)|*.*)
  381.   if ([$x] != [])
  382.      Load $x
  383.   endif
  384.   -@ $x
  385. EndMenuItem
  386.  
  387. MenuItem M_VSPUBWIZ on MT_MAINMENU
  388.   ShowViRCScriptPublishingWizard
  389. EndMenuItem
  390.  
  391. MenuItem M_BUFFER on MT_SERVERPOPUP
  392. EndMenuItem
  393.  
  394. MenuItem M_BUFFERSAVE on MT_SERVERPOPUP
  395.   @l $x = $savedialog(Append window buffer to a file|All files (*.*)|*.*)
  396.   @l $y = $mapobject(.:tbServerText)
  397.   AppendText "$x" $prop($y.Text)
  398.   UnmapObject $y
  399. EndMenuItem
  400.  
  401. MenuItem M_BUFFERCLEAR on MT_SERVERPOPUP
  402.   @l $x = $mapobject(.:tbServerText)
  403.   $x.Lines.Clear
  404.   UnmapObject $x
  405. EndMenuItem
  406.  
  407. MenuItem M_SSEP1 on MT_SERVERPOPUP
  408. EndMenuItem
  409.  
  410. MenuItem M_SCONNECT on MT_SERVERPOPUP
  411.   Connect
  412. EndMenuItem
  413.  
  414. MenuItem M_SDISCONNECT on MT_SERVERPOPUP
  415.   Disconnect
  416. EndMenuItem
  417.  
  418. MenuItem M_SSEP1 on MT_SERVERPOPUP
  419. EndMenuItem
  420.  
  421. MenuItem M_SIGNOFF on MT_SERVERPOPUP
  422.   @ $x = $?="Enter a signoff quote, or just press Enter."
  423.  
  424.   if ([$x] != [])
  425.      Quit $x
  426.   else
  427.      Quit \b[=\uV96\u=]\b Leaving
  428.   endif
  429. EndMenuItem
  430.  
  431. MenuItem M_BUFFER on MT_CHANNELTEXTPOPUP
  432. EndMenuItem
  433.  
  434. MenuItem M_BUFFERSAVE on MT_CHANNELTEXTPOPUP
  435.   @l $x = $savedialog(Append window buffer to a file|All files (*.*)|*.*)
  436.   @l $y = $mapobject($C:tbChannelText)
  437.   AppendText "$x" $prop($y.Text)
  438.   UnmapObject $y
  439. EndMenuItem
  440.  
  441. MenuItem M_BUFFERCLEAR on MT_CHANNELTEXTPOPUP
  442.   @l $x = $mapobject($C:tbChannelText)
  443.   $x.Lines.Clear
  444.   UnmapObject $x
  445. EndMenuItem
  446.  
  447. MenuItem M_CSEP1 on MT_CHANNELTEXTPOPUP
  448. EndMenuItem
  449.  
  450. MenuItem M_OFFERXDCC on MT_CHANNELTEXTPOPUP
  451.   XDCC
  452. EndMenuItem
  453.  
  454. MenuItem M_WHOLIST on MT_CHANNELTEXTPOPUP
  455.   WWho
  456. EndMenuItem
  457.  
  458. MenuItem M_WHOIS on MT_CHANNELNICKSPOPUP
  459.   Whois $1
  460. EndMenuItem
  461.  
  462. MenuItem M_QUERY on MT_CHANNELNICKSPOPUP
  463.   Query $1
  464. EndMenuItem
  465.  
  466. MenuItem M_SEP1 on MT_CHANNELNICKSPOPUP
  467. EndMenuItem
  468.  
  469. MenuItem M_DCCCHAT on MT_CHANNELNICKSPOPUP
  470.   DCC Chat $1
  471. EndMenuItem
  472.  
  473. MenuItem M_DCCSEND on MT_CHANNELNICKSPOPUP
  474.   DCC Send $1
  475. EndMenuItem
  476.  
  477. MenuItem M_TDCCSEND on MT_CHANNELNICKSPOPUP
  478.   TDCC Send $1
  479. EndMenuItem
  480.  
  481. MenuItem M_TDCCVOICE on MT_CHANNELNICKSPOPUP
  482.   TDCC Voice $1
  483. EndMenuItem
  484.  
  485. MenuItem M_SEP2 on MT_CHANNELNICKSPOPUP
  486. EndMenuItem
  487.  
  488. MenuItem M_CTCP on MT_CHANNELNICKSPOPUP
  489. EndMenuItem
  490.  
  491. MenuItem M_CPING on MT_CHANNELNICKSPOPUP
  492.   Ping $1
  493. EndMenuItem
  494.  
  495. MenuItem M_CVERSION on MT_CHANNELNICKSPOPUP
  496.   CTCP $1 VERSION
  497. EndMenuItem
  498.  
  499. MenuItem M_CTIME on MT_CHANNELNICKSPOPUP
  500.   CTCP $1 TIME
  501. EndMenuItem
  502.  
  503. MenuItem M_SEP3 on MT_CHANNELNICKSPOPUP
  504. EndMenuItem
  505.  
  506. MenuItem M_OP on MT_CHANNELNICKSPOPUP
  507.   Mode $C +o $1
  508. EndMenuItem
  509.  
  510. MenuItem M_DEOP on MT_CHANNELNICKSPOPUP
  511.   Mode $C -o $1
  512. EndMenuItem
  513.  
  514. MenuItem M_KICK on MT_CHANNELNICKSPOPUP
  515.   Kick $C $1
  516. EndMenuItem
  517.  
  518. MenuItem M_BAN on MT_CHANNELNICKSPOPUP
  519.   Ban $C $1
  520. EndMenuItem
  521.  
  522. MenuItem M_KICKBAN on MT_CHANNELNICKSPOPUP
  523.   BK $C $1
  524. EndMenuItem
  525.  
  526. UpdateMenus
  527.